Views হল একটি ভার্চুয়াল টেবিল, যা একটি বা একাধিক টেবিলের ডেটা থেকে তৈরি হয়। View-এ সংরক্ষিত কুয়েরি সাধারণত ডেটাবেসের স্টোরড কুয়েরি হিসেবে কাজ করে, যা বাস্তবিকভাবে ডেটা সংরক্ষণ না করেও সহজে ডেটা প্রদর্শন করে। Views মূলত ব্যবহারকারী বা অ্যাপ্লিকেশনকে ডেটাবেসের জটিলতা লুকানোর জন্য এবং বিশেষভাবে কাস্টমাইজড ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়।
- Simple View: একটি Simple View সাধারণত একটি একক টেবিলের উপর ভিত্তি করে তৈরি হয় এবং এতে কোন জটিল লজিক, অ্যাগ্রিগেট ফাংশন বা যুক্তি (joins) ব্যবহার করা হয় না। এটি একেবারে সরল কুয়েরি দিয়ে তৈরি হয়।
- Complex View: একটি Complex View একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করে, যেখানে একাধিক টেবিলের JOIN, Aggregation Functions (যেমন: COUNT, SUM, AVG), GROUP BY, এবং অন্যান্য জটিল লজিক ব্যবহৃত হয়।
১. Simple View তৈরি করা
একটি Simple View তৈরি করতে, সাধারণত একটি টেবিলের উপর SELECT কুয়েরি ব্যবহার করা হয়। এটি খুব সহজ এবং সরল কুয়েরি হতে পারে।
উদাহরণ:
ধরা যাক, আপনার একটি employees টেবিল রয়েছে এবং আপনি একটি সিম্পল ভিউ তৈরি করতে চান যা শুধু name এবং salary কলাম প্রদর্শন করবে।
CREATE VIEW simple_employee_view AS
SELECT name, salary
FROM employees;
এখন, আপনি simple_employee_view ভিউটি ব্যবহার করে employees টেবিলের name এবং salary কলামগুলো দেখতে পারবেন:
SELECT * FROM simple_employee_view;
এটি employees টেবিল থেকে name এবং salary কলাম প্রদর্শন করবে।
২. Complex View তৈরি করা
একটি Complex View তৈরি করতে, একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করতে হবে, যেখানে JOIN, GROUP BY, এবং Aggregation Functions ব্যবহার করা হয়।
উদাহরণ:
ধরা যাক, আপনার দুটি টেবিল রয়েছে: employees এবং departments, এবং আপনি এমন একটি ভিউ তৈরি করতে চান যা employees টেবিল থেকে কর্মচারীদের নাম এবং তাদের বিভাগ অনুসারে মোট স্যালারি দেখাবে।
employees টেবিল:
| employee_id | name | salary | department_id |
|---|---|---|---|
| 1 | John | 5000 | 101 |
| 2 | Alice | 6000 | 102 |
| 3 | Bob | 5500 | 101 |
departments টেবিল:
| department_id | department_name |
|---|---|
| 101 | HR |
| 102 | IT |
Complex View তৈরি করা:
CREATE VIEW complex_salary_view AS
SELECT e.name, d.department_name, e.salary
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
এখন, আপনি complex_salary_view ভিউটি ব্যবহার করে কর্মচারীদের নাম, বিভাগ এবং তাদের স্যালারি দেখতে পারবেন:
SELECT * FROM complex_salary_view;
এই কুয়েরি নিম্নলিখিত আউটপুট দিবে:
| name | department_name | salary |
|---|---|---|
| John | HR | 5000 |
| Alice | IT | 6000 |
| Bob | HR | 5500 |
Views-এর কিছু অন্যান্য বৈশিষ্ট্য
- Read-Only Views: কিছু ভিউ শুধুমাত্র ডেটা দেখতে ব্যবহৃত হয় এবং সেখানে আপডেট বা ডিলিট করা যায় না। এক্ষেত্রে ভিউটি Read-Only হয়।
- Updatable Views: কিছু ভিউ আপডেটযোগ্য হতে পারে যদি তা সরাসরি টেবিলের ডেটা থেকে তৈরি হয় এবং এতে শুধুমাত্র এক টেবিলের ডেটা থাকে। তবে, যদি ভিউয়ে JOIN বা Aggregation থাকে, তবে তা সাধারণত আপডেটযোগ্য হবে না।
- Materialized Views: কিছু ডেটাবেস সিস্টেমে Materialized Views ব্যবহার করা হয়, যা ভিউয়ের ডেটা প্রকৃতপক্ষে স্টোর করে। এটি তখন তৈরি করা হয় যখন আপনি ডেটার গতিশীল পরিবর্তন চান না এবং ভিউটির ডেটা কোস্টি হিসেবে সংরক্ষণ করতে চান।
Conclusion
- Simple View: সাধারণভাবে একটি একক টেবিল থেকে তথ্য রিটার্ন করে, সাধারণ SELECT কুয়েরি ব্যবহার করে তৈরি করা হয়।
- Complex View: একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করে, যেখানে JOIN, Aggregation Functions, এবং Grouping করা হয়।
Views ডেটাবেসের জটিলতা কমিয়ে আনে এবং ব্যবহারকারীদের জন্য ডেটা সহজলভ্য ও সহজভাবে প্রদর্শন করতে সহায়তা করে।
Read more